67 research outputs found

    Streaming Reduction Circuit

    Get PDF
    Reduction circuits are used to reduce rows of floating point values to single values. Binary floating point operators often have deep pipelines, which may cause hazards when many consecutive rows have to be reduced. We present an algorithm by which any number of consecutive rows of arbitrary lengths can be reduced by a pipelined commutative and associative binary operator in an efficient manner. The algorithm is simple to implement, has a low latency, produces results in-order, and requires only small buffers. Besides, it uses only a single pipeline for the involved operation. The complexity of the algorithm depends on the depth of the pipeline, not on the length of the input rows. In this paper we discuss an implementation of this algorithm and we prove its correctness

    Architecture Specifications in CλaSH

    Get PDF
    This paper introduces CλaSH, a novel hardware specification environment, by discussing several non-trivial examples. CλaSH is based on the functional language Haskell, and exploits many of its powerful abstraction mechanisms such as higher order functions, polymorphism, lambda abstraction, pattern matching, type derivation. As a result, specifications in CλaSH are concise and semantically clear, and simulations can be directly executed within a Haskell evaluation environment. CλaSH generates synthesizable low-level VHDL code by applying several transformation rules to a functional specification of a digital circuit

    Hiding State in CλaSH Hardware Descriptions

    Get PDF
    Synchronous hardware can be modelled as a mapping from input and state to output and a new state, such mappings are referred to as transition functions. It is natural to use a functional language to implement transition functions. The CaSH compiler is capable of translating transition functions to VHDL. Modelling hardware using multiple components is convenient. Components in CaSH can be considered as instantiations of functions. To avoid packing and unpacking state when composing components, functions are lifted to arrows. By using arrows the chance of making errors will decrease as it is not required to manually (un)pack the state. Furthermore, the Haskell do-syntax for arrows increases the readability of hardware designs. This is demonstrated using a realistic example of a circuit which consists of multiple components

    Planning of on/off devices with minimum run-times

    Get PDF
    To be able to reach objectives such as peak shaving or self-consumption within smart grids, it becomes increasingly important to control smart grid ready devices within households. This paper explores the planning of devices with minimal run-time constraints and constraints on total cumulative production (e.g., buffer level), such as heat pumps and electric vehicles. For such devices, a novel dynamic programming formulation is presented that makes it possible to find the optimal planning in O(N2)\mathcal{O}(N^2) time and space, where NN is the number of time intervals. To evaluate the algorithm, we integrate it into an existing decentralized demand side management approach. This evaluation shows using simulations that a load curve within a neighborhood can be flattened this way

    A survey of offline algorithms for energy minimization under deadline constraints

    Get PDF
    Modern computers allow software to adjust power management settings like speed and sleep modes to decrease the power consumption, possibly at the price of a decreased performance. The impact of these techniques mainly depends on the schedule of the tasks. In this article, a survey on underlying theoretical results on power management, as well as offline scheduling algorithms that aim at minimizing the energy consumption under real-time constraints, is given

    A Class of Convex Quadratic Nonseparable Resource Allocation Problems with Generalized Bound Constraints

    Get PDF
    We study a convex quadratic nonseparable resource allocation problem that arises in the area of decentralized energy management (DEM), where unbalance in electricity networks has to be minimized. In this problem, the given resource is allocated over a set of activities that is divided into subsets, and a cost is assigned to the overall allocated amount of resources to activities within the same subset. We derive two efficient algorithms with O(nlogn)O(n \log  n) worst-case time complexity to solve this problem. For the special case where all subsets have the same size, one of these algorithms even runs in linear time given the subset size. Both algorithms are inspired by well-studied breakpoint search methods for separable convex resource allocation problems. Numerical evaluations on both real and synthetic data confirm the theoretical efficiency of both algorithms and demonstrate their suitability for integration in DEM systems

    On a reduction for a class of resource allocation problems

    Full text link
    In the resource allocation problem (RAP), the goal is to divide a given amount of resource over a set of activities while minimizing the cost of this allocation and possibly satisfying constraints on allocations to subsets of the activities. Most solution approaches for the RAP and its extensions allow each activity to have its own cost function. However, in many applications, often the structure of the objective function is the same for each activity and the difference between the cost functions lies in different parameter choices such as, e.g., the multiplicative factors. In this article, we introduce a new class of objective functions that captures the majority of the objectives occurring in studied applications. These objectives are characterized by a shared structure of the cost function depending on two input parameters. We show that, given the two input parameters, there exists a solution to the RAP that is optimal for any choice of the shared structure. As a consequence, this problem reduces to the quadratic RAP, making available the vast amount of solution approaches and algorithms for the latter problem. We show the impact of our reduction result on several applications and, in particular, we improve the best known worst-case complexity bound of two important problems in vessel routing and processor scheduling from O(n2)O(n^2) to O(nlogn)O(n \log n)
    corecore